home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #1 / Amiga Plus CD - 2000 - No. 1.iso / Tools / Dev / Meshwriter_lib / Library / samples / cube.c < prev    next >
C/C++ Source or Header  |  1999-12-03  |  4KB  |  111 lines

  1. /*
  2. **      $VER: cube.c 1.00 (27.3.1999)
  3. **
  4. **      Creation date     : 20.3.1999
  5. **
  6. **      Description       :
  7. **         MeshWriter testprogram shape module.
  8. **
  9. **
  10. **      Written by Stephan Bielmann
  11. **
  12. */
  13.  
  14. /*************************** Includes *******************************/
  15.  
  16. #include <meshwriter/meshwriter.h>
  17. #include <pragma/meshwriter_lib.h>
  18.  
  19. /**************************** Defines *******************************/
  20.  
  21. /*********************** Type definitions ***************************/
  22.  
  23. /********************** Private functions ***************************/
  24.  
  25. /********************** Public functions ****************************/
  26.  
  27. /********************************************************************\
  28. *                                                                    *
  29. * Name         : cube                                                *
  30. *                                                                    *
  31. * Description  : Draws a multicolored pyramid mesh. By setting all   *
  32. *                vertice values direct as fixed values.              *
  33. *                                                                    *
  34. * Arguments    : mesh    IN  : An initialized mesh handle.           *
  35. *                                                                    *
  36. * Comment      :                                                     *
  37. *                                                                    *
  38. \********************************************************************/
  39. void cube (ULONG mesh) {
  40.  ULONG mat1,mat2,mat3;
  41.  TOCLColor color;
  42.  TOCLVertex v1,v2,v3,v4,v5,v6,v7,v8;
  43.  
  44.  v1.x=-10,v1.y=-10,v1.z=-10;
  45.  v2.x=10,v2.y=-10,v2.z=-10;
  46.  v3.x=10,v3.y=10,v3.z=-10;
  47.  v4.x=-10,v4.y=10,v4.z=-10;
  48.  v5.x=-10,v5.y=-10,v5.z=10;
  49.  v6.x=10,v6.y=-10,v6.z=10;
  50.  v7.x=10,v7.y=10,v7.z=10;
  51.  v8.x=-10,v8.y=10,v8.z=10;
  52.  
  53.  MWLMeshMaterialAdd(mesh,&mat1);
  54.  color.r=0,color.g=0,color.b=255;
  55.  MWLMeshMaterialDiffuseColorSet(mesh,mat1,&color);
  56.  MWLMeshMaterialShininessSet(mesh,mat1,1);
  57.  MWLMeshMaterialTransparencySet(mesh,mat1,0);
  58.  
  59.  MWLMeshMaterialAdd(mesh,&mat2);
  60.  color.r=0,color.g=255,color.b=0;
  61.  MWLMeshMaterialDiffuseColorSet(mesh,mat2,&color);
  62.  MWLMeshMaterialShininessSet(mesh,mat2,1);
  63.  MWLMeshMaterialTransparencySet(mesh,mat2,0);
  64.  
  65.  MWLMeshMaterialAdd(mesh,&mat3);
  66.  color.r=255,color.g=0,color.b=0;
  67.  MWLMeshMaterialDiffuseColorSet(mesh,mat3,&color);
  68.  MWLMeshMaterialShininessSet(mesh,mat3,1);
  69.  MWLMeshMaterialTransparencySet(mesh,mat3,0);
  70.  
  71.  MWLMeshNameSet(mesh,"Cube");
  72.  
  73.  MWLMeshPolygonAdd(mesh,mat1);
  74.  MWLMeshPolygonVertexAdd(mesh,&v1);
  75.  MWLMeshPolygonVertexAdd(mesh,&v2);
  76.  MWLMeshPolygonVertexAdd(mesh,&v6);
  77.  MWLMeshPolygonVertexAdd(mesh,&v5);
  78.  
  79.  MWLMeshPolygonAdd(mesh,mat1);        
  80.  MWLMeshPolygonVertexAdd(mesh,&v8);
  81.  MWLMeshPolygonVertexAdd(mesh,&v7);
  82.  MWLMeshPolygonVertexAdd(mesh,&v3);
  83.  MWLMeshPolygonVertexAdd(mesh,&v4);
  84.  
  85.  MWLMeshPolygonAdd(mesh,mat2);        
  86.  MWLMeshPolygonVertexAdd(mesh,&v5);
  87.  MWLMeshPolygonVertexAdd(mesh,&v6);
  88.  MWLMeshPolygonVertexAdd(mesh,&v7);
  89.  MWLMeshPolygonVertexAdd(mesh,&v8);
  90.  
  91.  MWLMeshPolygonAdd(mesh,mat2);        
  92.  MWLMeshPolygonVertexAdd(mesh,&v4);
  93.  MWLMeshPolygonVertexAdd(mesh,&v3);
  94.  MWLMeshPolygonVertexAdd(mesh,&v2);
  95.  MWLMeshPolygonVertexAdd(mesh,&v1);
  96.  
  97.  MWLMeshPolygonAdd(mesh,mat3);
  98.  MWLMeshPolygonVertexAdd(mesh,&v4);
  99.  MWLMeshPolygonVertexAdd(mesh,&v1);
  100.  MWLMeshPolygonVertexAdd(mesh,&v5);
  101.  MWLMeshPolygonVertexAdd(mesh,&v8);
  102.  
  103.  MWLMeshPolygonAdd(mesh,mat3);
  104.  MWLMeshPolygonVertexAdd(mesh,&v2);
  105.  MWLMeshPolygonVertexAdd(mesh,&v3);
  106.  MWLMeshPolygonVertexAdd(mesh,&v7);
  107.  MWLMeshPolygonVertexAdd(mesh,&v6);
  108. }
  109.  
  110. /************************* End of file ******************************/
  111.